package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 医保局财务处管理对象 medical_lnsurance_bureau
 * 
 * @author ruoyi
 * @date 2025-04-13
 */
@ApiModel(value = "MedicalLnsuranceBureau", description = "医保局财务处管理对象")
public class MedicalLnsuranceBureau extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 参保人 */
    @ApiModelProperty(name = "参保人")
    private Long insuredPersonId;

    /**
     * 参保人
     */
    private InsuredPersons insuredPersons;

    /** 身份证号 */
    @ApiModelProperty(name = "身份证号")
    private String identificationCard;

    /** 通知时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "通知时间")
    private Date notificationTime;

    /** 支付金额 */
    @ApiModelProperty(name = "支付金额")
    private Long payMoney;

    /** 医疗机构 */
    @ApiModelProperty(name = "医疗机构")
    private String medicalInstitution;

    /** 就诊时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "就诊时间")
    private Date visitTime;

    /** 报销金额 */
    @ApiModelProperty(name = "报销金额")
    private Long reimbursementAmount;

    /** 状态(0-未读，1-已读 2-已批准) */
    @ApiModelProperty(name = "状态(0-未读，1-已读 2-已批准 3-审核不通过)")
    private Long status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public InsuredPersons getInsuredPersons() {
        return insuredPersons;
    }

    public void setInsuredPersons(InsuredPersons insuredPersons) {
        this.insuredPersons = insuredPersons;
    }

    public void setInsuredPersonId(Long insuredPersonId)
    {
        this.insuredPersonId = insuredPersonId;
    }

    public Long getInsuredPersonId() 
    {
        return insuredPersonId;
    }

    public void setIdentificationCard(String identificationCard) 
    {
        this.identificationCard = identificationCard;
    }

    public String getIdentificationCard() 
    {
        return identificationCard;
    }

    public void setNotificationTime(Date notificationTime) 
    {
        this.notificationTime = notificationTime;
    }

    public Date getNotificationTime() 
    {
        return notificationTime;
    }

    public void setPayMoney(Long payMoney) 
    {
        this.payMoney = payMoney;
    }

    public Long getPayMoney() 
    {
        return payMoney;
    }

    public void setMedicalInstitution(String medicalInstitution) 
    {
        this.medicalInstitution = medicalInstitution;
    }

    public String getMedicalInstitution() 
    {
        return medicalInstitution;
    }

    public void setVisitTime(Date visitTime) 
    {
        this.visitTime = visitTime;
    }

    public Date getVisitTime() 
    {
        return visitTime;
    }

    public void setReimbursementAmount(Long reimbursementAmount) 
    {
        this.reimbursementAmount = reimbursementAmount;
    }

    public Long getReimbursementAmount() 
    {
        return reimbursementAmount;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("insuredPersonId", getInsuredPersonId())
            .append("identificationCard", getIdentificationCard())
            .append("notificationTime", getNotificationTime())
            .append("payMoney", getPayMoney())
            .append("medicalInstitution", getMedicalInstitution())
            .append("visitTime", getVisitTime())
            .append("reimbursementAmount", getReimbursementAmount())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .toString();
    }
}
